Remove some of our stranger time shims.
authorrobertlipe <robertlipe@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Fri, 26 Jul 2013 03:16:29 +0000 (03:16 +0000)
committerrobertlipe <robertlipe@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Fri, 26 Jul 2013 03:16:29 +0000 (03:16 +0000)
gpsbabel/defs.h
gpsbabel/ggv_log.cc
gpsbabel/gopal.cc
gpsbabel/src/core/datetime.h
gpsbabel/trackfilter.cc
gpsbabel/unicsv.cc
gpsbabel/waypt.cc

index 28529ea712cf46acbbc53734782f2839b5cfdb9f..f768e14f91e062cf4bc034a8f33aa171704d8993 100644 (file)
@@ -529,7 +529,7 @@ public:
   }
   void SetCreationTime(gpsbabel::DateTime t) { creation_time = t; 
   }
-  void SetCreationTime(time_t t) { creation_time = t
+  void SetCreationTime(time_t t) { creation_time = QDateTime::fromTime_t(t)
   }
   void SetCreationTime(time_t t, int ms) {
     creation_time.setTime_t(t);
@@ -608,7 +608,7 @@ typedef struct {
   double       avg_hrt;        /* Avg Heartrate */
   double       avg_cad;        /* Avg Cadence */
   time_t       start;          /* Min time */
-  time_t        end;           /* Max time */
+  time_t       end;            /* Max time */
   int  min_hrt;        /* Min Heartrate */
   int  max_hrt;        /* Max Heartrate */
   int  max_cad;        /* Max Cadence */
index 6fc5de89db063bb7719576588e85cc1d0f9be03c..185f9b2d7a5ed321884243f3d1337a17cad3184b 100644 (file)
@@ -224,7 +224,8 @@ ggv_log_track_head_cb(const route_head* trk)
     lonsec = 60.0 * (lonmin - floor(lonmin));
 
     if (wpt->creation_time > 0) {
-      tm = *gmtime(&wpt->GetCreationTime());
+      time_t t = wpt->GetCreationTime().toTime_t();
+      tm = *gmtime(&t);
       tm.tm_mon += 1;
       tm.tm_year += 1900;
     } else {
index 48778475f5d1385bad13aa4947e8395c38677f72..c3f305086c926205021b3083dfd36b5236c53233 100644 (file)
@@ -237,7 +237,8 @@ gopal_read(void)
         wpt->creation_time = tx+((((time_t)tm.tm_hour * 60) + tm.tm_min) * 60) + tm.tm_sec;
         wpt->creation_time = wpt->creation_time.addMSecs(millisecs);
         if (global_opts.debug_level > 1) {
-          strftime(tbuffer, sizeof(tbuffer), "%c", gmtime(&wpt->creation_time));
+          time_t t = wpt->GetCreationTime().toTime_t();
+          strftime(tbuffer, sizeof(tbuffer), "%c", gmtime(&t));
           printf("parsed timestamp: %s\n",tbuffer);
         }
         break;
index 2e0f97f4e1215bb155824fa1bd33ea4759602417..0ca7322e818bc214cac44f803a6386c435d4f882 100644 (file)
@@ -40,7 +40,6 @@ public:
   // being 1/1/1970.
   DateTime() {
     setTime_t(0);
-    t_ = -1;
   }
 
   DateTime(QDate date, QTime time) : QDateTime(date, time) {}
@@ -59,12 +58,6 @@ public:
     return toTime_t();
   }
 
-  // Handle       tm = *gmtime(&wpt->creation_time)  ...poorly.
-  inline const time_t *operator&() {
-    t_ = toTime_t();
-    return &t_;
-  }
-
   // Integer form: YYMMDD
   int ymd() const {
     QDate d(date());
@@ -107,9 +100,6 @@ public:
     }
     return toUTC().toString(format);
   }
-
-private:
-  time_t t_;
 };
 
 } // namespace gpsbabel
index 4731b42eb6106458f9306bdeed75240b0c89c045..cf4f25b2dfe78c3f30be45d8bca43bf07cbba334 100644 (file)
@@ -425,7 +425,8 @@ trackfilter_pack_init_rte_name(route_head *track, const time_t default_time)
       tm = *localtime(&default_time);
     } else {
       wpt = (waypoint *) QUEUE_FIRST((queue *)&track->waypoint_list);
-      tm = *localtime(&wpt->creation_time);
+      time_t t = wpt->GetCreationTime().toTime_t();
+      tm = *localtime(&t);
     }
     strftime(buff, sizeof(buff), opt_title, &tm);
   } else {
@@ -692,9 +693,12 @@ trackfilter_split(void)
 
     if ((opt_interval == 0) && (opt_distance == 0)) {
       struct tm t1, t2;
+// FIXME: This whole function needs to be reconsidered for arbitrary time.
+      time_t tt1 = buff[i]->GetCreationTime().toTime_t();
+      time_t tt2 = buff[j]->GetCreationTime().toTime_t();
 
-      t1 = *localtime(&buff[i]->creation_time);
-      t2 = *localtime(&buff[j]->creation_time);
+      t1 = *localtime(&tt1);
+      t2 = *localtime(&tt2);
 
       new_track_flag = ((t1.tm_year != t2.tm_year) || (t1.tm_mon != t2.tm_mon) ||
                         (t1.tm_mday != t2.tm_mday));
@@ -1113,7 +1117,7 @@ trackfilter_faketime(void)             /* returns number of track points left af
       waypoint *wpt = (waypoint *)elem;
 
       if (opt_faketime != 0 && (wpt->creation_time == 0 || faketime.force)) {
-        wpt->creation_time = faketime.start;
+        wpt->creation_time = QDateTime::fromTime_t(faketime.start);
         faketime.start += faketime.step;
       }
     }
index 8b94a67d188a654112658cd7a2138f248e0e59bd..dcb4487d4596be817cd64c6a149e18df088cbeb6 100644 (file)
@@ -1368,7 +1368,7 @@ unicsv_waypt_enum_cb(const waypoint *wpt)
   if (wpt->hasLink()) {
     gb_setbit(&unicsv_outp_flags, fld_url);
   }
-  if (wpt->creation_time != 0) {
+  if (wpt->creation_time.isValid()) {
     gb_setbit(&unicsv_outp_flags, fld_time);
     if (wpt->creation_time >= SECONDS_PER_DAY) {
       gb_setbit(&unicsv_outp_flags, fld_date);
index 0716c44fcdc5405cf9899e094c08df0c1b1c0d74..8dc79cfa60f2320a4fa7aa55ae43625fa32a18e2 100644 (file)
@@ -660,7 +660,7 @@ waypt_empty_gc_data(const waypoint *wpt)
 QString
 waypoint::CreationTimeXML() const
 {
-  if (creation_time == 0) {
+  if (!creation_time.isValid()) {
     return NULL;
   }